home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / fade into you / getting there / News / uupc⁄BBS connectivity / Booster / Setting up < prev    next >
Text File  |  1993-03-31  |  15KB  |  346 lines

  1. IMPORTANT: if you want to send me mail, send it to "sinteur@fourc.nl"
  2. All other addresses mentioned in this file are for demonstration purposes
  3. only.
  4.  
  5.  
  6. This is a first release of a uucp link for Macintosh based fidonet BBS
  7. systems. Goal: to add a news feed to your BBS, to allow your users to read
  8. uucp news groups.
  9.  
  10. Before you start, you need:
  11.  
  12. - a BBS (see note 1)
  13. - a Tabby(-compatible) setup (see note 2)
  14. - this package
  15. - UUPC 3.1 (see note 3)
  16.  
  17.  
  18. Note 1: you need some experience as a sysop of a Macintosh BBS, wether you're using
  19. TeleFinder, Mansion, Second Sight, Hermes, or whatever. DON'T attempt to install
  20. this unless your BBS has been running for AT LEAST half a year. With YOU as the
  21. sysop.
  22.  
  23. Note 2: You need a good working knowledge of how Tabby works, with special attention
  24. to the launch.next process (events) and the generic import. What News/Import does
  25. is grab the files transferred in by UUPC and append them to the generic import
  26. file for processing into your BBS. If the above is gibberish to you, put this
  27. package away and re-read the Tabby manuals. Tabby must have been running on
  28. your system (preferrably with a fidonet link) for at least three months
  29. succesfully.
  30.  
  31. Note 3: You need a working uucp link. UUPC must be installed (by you) and
  32. running - mail MUST have been transferred between your uucp host and your
  33. system. When you've reached that point, you've thoroughly read the UUPC
  34. documentation, you probably bought some of the O'Reilly books, and you've
  35. established a friendly relationship with the system administrator on the
  36. Unix system that has your uucp link.
  37. This software requires a feature from version 3.1.
  38.  
  39. All this is ESSENTIAL. Do NOT continue if one of the above is not true.
  40.  
  41.  
  42.  
  43. --------------
  44.  
  45.  
  46. The UUPC software is not Tabby aware. Therefore, you cannot just place it
  47. in your event chain and expect it to work. 'UUPC Starter' is a small
  48. utility that can sit in any Tabby event chain. It launches UUPC with a
  49. so-called 'call-initiation file' (see the UUPC docs). The best
  50. way to proceed is to create a entry in the UUPC schedule file, and create
  51. a call-initiaion file called 'cron -t30 -quit'
  52. Then, use ResEdit to edit STR resource 130 in UUPC Starter to show the full
  53. pathname of the call-initiaion file.
  54.  
  55. Make a Tabby Schedule that includes UUPC Starter - and make sure it runs during
  56. the time period you choose in the UUPC Schedule.
  57.  
  58.  
  59.  
  60.  
  61. Next, open News/Import with ResEdit, and edit STR resource 110. It must
  62. contain the path to your UUPC spool folder. Now, News/Import reads the
  63. 'UUPC settings' file first to find this path, but this assumes that this
  64. settings file is in the same directory as News/Import. STR resource 110
  65. is a backup mechanism, in case he UUPC settings can not be found.
  66.  
  67. Do the same with News/Export.
  68.  
  69. In News/Export you will also find two STR resources that describe the
  70. node name of YOUR system, and your domainname (usually nodename.UUCP);
  71. Note that these may are interpreted DIFFERENT from those in UUPC settings:
  72. the nodename MUST be exactly the same (since it is used in communicating
  73. with UUPC, the domainname must be the FULLY qualified name. Example:
  74. your node name is 'vamp' - then usually your domainname is 'UUCP' giving
  75. a full address of <user>@vamp.uucp.
  76. However, since it is sometimes necessary to have the uucp node name
  77. something completely different from the mail addresses, the STR resource
  78. that describes the domainname, must have EVERTHING that is to appear
  79. after the @ sign.
  80. If all this sounds confusing, just do the following: in nodename, enter
  81. your nodename, exactly as it appears in UUPC settings. in domainname,
  82. put everything that defines a mail address to your system. Most of the
  83. time, this is your nodename, followed by '.UUCP'
  84. You may wish to discuss this with the system manager at your UUCP host.
  85.  
  86. In News/Export there are also two important STR# resources that you need
  87. to change. The first one, ID 128, contains any lines that will be appended
  88. to the message header. This is most often used for the 'Organization: ' lines
  89. that describe the organization that owns the machine that originated the
  90. message. Keep this as short as possible.
  91. The second one, ID 129, contains any lines that will be appended after
  92. the body text. This is sometimes used for disclaimer lines like I put in
  93. the distribution copy of News/Export. Keep these lines REALLY short. In
  94. general, personal 'signature' lines are to be kept under three lines, and
  95. general system wide signature lines (which STR# 129 are) are to be avoided
  96. at all, add them only if you have something really important to tell to
  97. the entire world.
  98.  
  99. News Export stops reading these lines as soon as it encounters an empty one (or
  100. if no more strings exist). Remove the STR# resources if you do not wish to
  101. use them.
  102.  
  103.  
  104.  
  105. Then, create a text file called 'News/Import groups' in your 'Tabby' folder.
  106. (that is the folder where 'areas.bbs' sits). In it, you will specify which
  107. news groups you receive from your uucp host, and to which area's in your
  108. area.bbs file they map. Because fido net conferences have a limitation in
  109. name length, you need to do two things for each news group. Add a line
  110. to your areas.bbs with Tabby Maint (and add a matching thingy to your BBS. For
  111. TeleFinder: add a thread and make sure you add to the setup in TF/Link),
  112. and secondly, add a line with the same group number to 'News/Import groups'.
  113. An example areas.bbs and 'News/Import groups' have been shipped with this
  114. package. Look at them.
  115.  
  116. The format of each line in 'News/Import groups' is:
  117. number<tab>newsgroupname<tab>newsfeed<return>
  118.  
  119. The 'number' is the same number as in the areas.bbs file.
  120. The newsgroup name is the full name of the newsgroup, for example
  121. 'comp.sys.mac.programmer' or 'alt.swedish-chef.bork.bork.bork'
  122.  
  123. Remeber that newsgroups are always written in lowercase on the internet.
  124. Newsgroupnames are CASE SENSITIVE, so make sure the entire News/Import groups
  125. file is in lower case.
  126.  
  127.  
  128. the 'newsfeed' is the name of the system you get this news group from and
  129. want messages to go to. Note that this software can only exchange a news
  130. group with one single host - it is not possible to SEND news in one group
  131. to more hosts (it is possible to RECEIVE the same group from more than
  132. one host, though. Just enter the name of the system you want news to go to
  133. when entered on your BBS)
  134.  
  135. Note: you MUST add at least the following two groups: 'junk' and 'control'.
  136. They will contain control messages (ignored in this release) and messages
  137. that do not belong to any known group. the newsfeed entries for those
  138. groups must be 'all'
  139.  
  140. (the name 'News/Import groups' is a bit misleading, as News/Export also
  141. uses this file...)
  142.  
  143.  
  144. Next, add News/Import to the event chain, after 'UUPC Starter' and before the
  145. import into your BBS. Try it out by launching News/Import by hand, and read
  146. the Tabby Log to check for errors..
  147.  
  148. 'Booster' is an application that does the same as UUPC Starter, in a different
  149. way. It also needs ResEdit to set up. Try them both, to see which one does
  150. what you want. Booster was written by Chris Silverberg, because his BBS does
  151. not run Finder (but runs At Ease), and UUPC Starter requires the Finder...
  152.  
  153.  
  154.  
  155. Finally, ask your uucp host to switch on news processing for you, and specify
  156. which news groups you want. Also, tell him that he needs to make a special
  157. entry in 'explist' in his /usr/lib/news directory (all this assumes he's
  158. using cnews). Tell him to add the following entry:
  159.  
  160. <yoursitename>   10000 20   batcher  nocomp  viauux
  161.  
  162. (This will tell cnews to send news UNCOMPRESSED. Compression is scheduled for
  163. a future release of News/Import)
  164.  
  165.  
  166. When you've succesfully transferred news this way, add News/Export to every
  167. even chain that includes export of message from your BBS to Tabby. Add
  168. it to a point in the chain just AFTER the export from your BBS system. This
  169. will probably be very early.
  170.  
  171.  
  172.  
  173. Note that, by default, incoming news messages will only get written to Generic
  174. Import for import into your BBS system. If you want to export news messages
  175. to, say, your point systems, you need to tell News/Import that it should also
  176. write all messages it processes to the Generic Export file. You can do that
  177. by putting a 'Y' in the STR  resource 130 in News/Import.
  178.  
  179. Long time users of Tabby will notice a potential conflict here. This is the normal
  180. process:
  181.  
  182. export of new messages entered on BBS to Generic Export -> News/Export prepares
  183. them for UUPC -> UUPC call to host  -> News/Import writes new messages from UUPC
  184. to Generic Import  -> import into BBS
  185.  
  186. With a 'Y' in STR resource 130, News/Import will also write to Generic Export,
  187. which introduces the risk that News/Export will prepare those message for
  188. transmission to your UUPC host - this would mean sending all message received
  189. from the host back to it, with a terrible 'dupe loop' as a result. To prevent this,
  190. News/Export will look at the last line of each message in Generic Export. If it
  191. reads '--- News/Import vX.X' it will NOT export the message to UUPC. News/Import
  192. marks each message it processes in this way.
  193.  
  194.  
  195.  
  196. Technical Notes on exporting messages:
  197. (this discussion assumes that the host you exchange message with is a unix box.
  198. Since UUPC emulates this rather well, you should not be concerned if you
  199. happen to have a UUPC host rather than some unix box)
  200. (if you don't really care about the inner workings of News/Export and UUPC, you
  201. can skip this part)
  202.  
  203. On export of each message, three files are created in the uucp spool directory.
  204.  
  205. The first is called "D.xxxx0000" Where xxxx stands for YOUR node name, and 0000 is
  206. a message count (this message count increases for each message exported, and
  207. wraps back to zero at 9999 - it is recorded in your Tabby folder in the file called
  208. "News/Export count" - also all three files belonging to the same message have the
  209. same count)
  210.  
  211. For example, a file from my node (which has the uucp name "vamp" and is part of the
  212. domain "fourc.nl") could be called
  213. "D.vamp0027"
  214.  
  215. In this file, you will find the message text, with on top, seperated by linefeeds
  216. instead of normal returns, the message header - it describes who sent the message,
  217. what the subject is, what newsgroup it belongs to, etc. It has linefeeds because that's
  218. how the unix host expects it. If one replaces the linefeeds with returns, the header
  219. might look like this:
  220.  
  221. Newsgroups: comp.sys.mac.programmer
  222. Path: vamp
  223. Date: Mon, 15 Mar 1993 21:06:43 -0800 (PST)
  224. From: John Sinteur <John.Sinteur@vamp.fourc.nl>
  225. Subject: Re: process info problems
  226. Message-Id: <9303152106.27@vamp.fourc.nl>
  227.  
  228. The path line lists all systems that processed this message - in this case only the
  229. site that generated the message. The message ID is year, month, date, hour, minute,
  230. and the message count mentioned above. This could allow for some tracing and debugging.
  231. The from line lists the name of the sender, and his or her return address in internet
  232. style.
  233.  
  234.  
  235. The second file is called "C.yyyy0000" where yyyy is the uucp host that the message
  236. is to be sent to. The 0000 is the message number again. In this example, we
  237. will use the file "C.fourcnl0027"
  238.  
  239. This file is a 'command' file - it contains commands for UUPC. Usually, it
  240. contains two lines, seperated by linefeeds, like this:
  241.  
  242. S D.vamp0027 D.vamp0027 usenet - D.vamp0027 0666 usenet
  243. S D.fourcnl0027 X.fourcnl0027 usenet - D.fourcnl0027 0666 usenet
  244.  
  245. These are two 'send' commands. The first line sends ('S') the file called
  246. D.vamp0027 from the spool folder to the host, and names it D.vamp0027 on the
  247. host. Unix like features like owner (usenet) and mode (0666) are set. As a
  248. Mac user, you don't really have to worry about that. This first file contains
  249. the message text, as we saw above. The second line sends the file called
  250. D.fourcnl0027 to the host, and names it X.fourcnl0027 there. Again, unix
  251. priviliges are set, but the interesting bit here is that the filename on
  252. the unix host starts with X. For UUCP on the host, this is a signal that after
  253. the connection is through, it should read this file and execute any command in
  254. it. 
  255.  
  256. As you noticed, the lines both start with 'S' (for Send). 'R' and 'X' are
  257. also possible, but are not covered here. They mean 'receive' and 'execute'.
  258.  
  259. To be exact, the line has the following format:
  260.  
  261. S srcfile trgtfile user opts datafile mode notify
  262.  
  263. where the following parts are defined:
  264.  
  265. • srcfile is the fully-qualified pathname of the source file 
  266.  
  267. • trgtfile is the fully-qualified pathname to which the file is 
  268. to be copied on the target system
  269.  
  270. • user is the sending user's login name (in this case always 'usenet')
  271.  
  272. • opts options, preceded by "-"
  273.  
  274. - c send directly from srcfile. If absent, send from copy 
  275. of file in spool directory, name given by datafile, and delete copy after
  276. transferring; in this case srcfile is informational, providing the file's
  277. original name.
  278. - m notify sender by mail when copy is completed
  279. - n notify user notify on target system when file arrives
  280.  
  281. If no options are present, a hyphen appears here as a placeholder.
  282.  
  283. • datafile if "c" option present, "D.0"; if "c" absent, gives the 
  284. name of the data file in the spool directory for uucico to send.
  285.  
  286. • mode is the Unix-style file protection mode (in octal) to be 
  287. given to the new file
  288.  
  289. • notify is the name of a user on the target system; present only 
  290. if "n" option present
  291.  
  292. -----
  293.  
  294.  
  295. The execute file is the third file, and it is called D.yyyy0000 where yyyy is
  296. the uucp host that the message is to be sent to. The 0000 is the message
  297. number again.
  298.  
  299. When the line feeds are again converted to returns to allow for easy reading,
  300. the contents look a bit like this:
  301.  
  302. U usenet vamp
  303. # return status on failure
  304. Z
  305. # use sh to execute
  306. e
  307. # return address for status or input return
  308. R sysop
  309. # job ID for status reporting
  310. J 0027.2
  311. F D.vamp0027
  312. I D.vamp0027
  313. C rnews
  314.  
  315.  
  316. The lines starting with "#" are comments. As you may note, the 'return adress'
  317. is 'sysop'. Should something disastrous happen, the unix system will attempt to
  318. mail this user on your system. Since most systems define a user called 'sysop',
  319. I put this in as a default (in my experience, systems that start out with a user
  320. 'sysop' will usually add one within the first couple of weeks of operation - users
  321. tend to expect a 'sysop')
  322. The really interesting bit is the line that defines the command to execute:
  323. C rnews
  324. Usually, the number of commands a system is allowed to execute in this manner is
  325. limited to simply two: 'rnews' and 'rmail' (for sending news and mail) and only
  326. on rare occasions are other commands possible.
  327.  
  328. To get technical again:
  329.  
  330. C command to be executed
  331. I file name for command input
  332. O file name for command output
  333. F file required to be present before running command; optional 
  334.      second argument gives name for the file at execution time
  335. R name of user who issued request (relative to the host named on the U line)
  336. U second arg is name of host that passed this X. file to me; 
  337.    first arg is a user name on that host (overridden by R line)
  338. Z send status notification (and error output) if command failed
  339. N send no status notification if command failed
  340. n send status notification if command succeeded
  341. B return command input on error
  342. e requests command be processed with sh(1)
  343. E requests command be processed with exec(2)
  344. M return status info to the named file on the requesting host
  345. # comment line
  346.